Appium Architecture for iOS
Ø On iOS, Appium proxies command
to a UIAutomation script running in Mac Instruments environment.
Ø Apple provides
this application called ‘instruments’ which is used to do lot activities like
profiling, controlling and building iOS apps but it also has an
automation component where we can write some commands
in javascript which uses UIAutomation APIs to interact with
the App UI. Appium utilizes these same libraries to automate iOS Apps..
Ø In the above figure, we can see the architecture of
the Appium in context to the iOS automation. If we talk about a
command life-cycle, it goes like, Selenium webdriver picks a command
form the code like (Element.click) and sends it in form of JSon via
http request to the Appium server. Appium server knows the
automation context like the iOS and Android and sends this
command to the Instruments command server which will wait for the Instruments
command client (written in node.js) to pick it up and execute it in
bootstrap.js with in the iOS instruments environment.
Ø Once the command is executed the command client sends back the message to the Appium server which logs everything related to the command in its console. This cycle keeps going till the time all the commands gets executed.
Useful blog, Keep Sharing With us.
ReplyDeleteArchitecture of Appium
Components of Appium